{
    title:  'Configuration directives',
    crumbs: [
        { "User's Guide": '../users/' },
    ],
}
            <h1>Configuration Directives</h1>
            <p>This is the list of Appweb supported configuration directives.</p>
            <table title="directives" class="ui table segment">
                <thead>
                    <tr>
                        <th>Name</th>
                        <th>Purpose</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td><a href="dir/server.html#action">Action</a></td>
                        <td>CGI program to handle specific content.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#addInputFilter">AddInputFilter</a></td>
                        <td>Add an input filter to the processing pipeline.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#addHandler">AddHandler</a></td>
                        <td>Add a handler for processing given file extensions.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#addLanguageSuffix">AddLanguageSuffix</a></td>
                        <td>Add a supported language and filename suffix to use for this language.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#addLanguageDir">AddLanguageDir</a></td>
                        <td>Add a per-language content directory.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#addOutputFilter">AddOutputFilter</a></td>
                        <td>Add an output filter to the processing pipeline.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/server.html#addType">AddType</a></td>
                        <td>Add a MIME type specification.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/server.html#alias">Alias</a></td>
                        <td>Map URLs to directories.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/auth.html#allow">Allow</a></td>
                        <td>Define which servers can access content.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/auth.html#authAutoLogin">AuthAutoLogin</a></td>
                        <td>Automatically login as the designated user.</td>
                    </tr>
                <!-- UNUSED
                    <tr>
                        <td><a href="dir/auth.html#authCipher">AuthCipher</a></td>
                        <td>Define the cipher used when storing passwords at the server.</td>
                    </tr>
                -->
                    <tr>
                        <td><a href="dir/auth.html#authDigestQop">AuthDigestQop</a></td>
                        <td>Define the quality of protection for Digest Authentication.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/auth.html#authGroupFile">AuthGroupFile</a></td>
                        <td>Define the name of the user group file for authentication.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/auth.html#authStore">AuthStore</a></td>
                        <td>Define the authentication method: "config" or "system".</td>
                    </tr>
                    <tr>
                        <td><a href="dir/auth.html#authName">AuthName</a></td>
                        <td>Define the realm of users to be permitted access to this set of documents.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/auth.html#authType">AuthType</a></td>
                        <td>Define the type of authentication to use: Basic or Digest.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/auth.html#authUserFile">AuthUserFile</a></td>
                        <td>Define the file of user names.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#cache">Cache</a></td>
                        <td>Configure client and server side caching.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/server.html#serverName">CanonicalName</a></td>
                        <td>Define a name for the server to use when creating redirections.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/server.html#cgiEscape">CgiEscape</a></td>
                        <td>Escape shell special characters in CGI environment variables.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/server.html#cgiPrefix">CgiPrefix</a></td>
                        <td>Define a prefix string for URI query and form variables when passing to CGI programs.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/server.html#chroot">Chroot</a></td>
                        <td>Define the directory for a "chroot jail" in which Appweb will execute.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#condition">Condition</a></td>
                        <td>Define a conditional test for a route.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#crossOrigin">CrossOrigin</a></td>
                        <td>Define cross-origin sharing exceptions for the route.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#defaultLanguage">DefaultLanguage</a></td>
                        <td>Set the default language to use for a route.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#defense">Defense</a></td>
                        <td>Define a defensive response for attack monitoring.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/auth.html#deny">Deny</a></td>
                        <td>Define which servers cannot access content.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/dir.html#directoryIndex">DirectoryIndex</a></td>
                        <td>Define the default index file to service for directory requests.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#documents">Documents</a></td>
                        <td>Directory containing web content.</td>
                    </tr>
<!-- KEEP
                    <tr>
                        <td><a href="dir/ejs.html#ejsAlias">EjsAlias</a></td>
                        <td>Define an Ejscript application alias.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/ejs.html#ejsStartup">EjsStartup</a></td>
                        <td>Define an Ejscript application script.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/ejs.html#ejsWorkers">EjsWorkers</a></td>
                        <td>Define the maximum number of worker threads.</td>
                    </tr>
-->
                    <tr>
                        <td><a href="dir/server.html#errorDocument">ErrorDocument</a></td>
                        <td>Define an error document to serve.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/log.html#errorLog">ErrorLog</a></td>
                        <td>Define the location and format of the error log.</td>
                    </tr>
                    <tr><td><a href="dir/esp.html#espApp">EspApp</a></td>
                        <td>Define an ESP application.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#exitTimeout">ExitTimeout</a></td>
                        <td>Define the timeout period to wait for requests to complete before exiting or restarting.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#header">Header</a></td>
                        <td>Manage the response headers.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/server.html#groupAccount">GroupAccount</a></td>
                        <td>Define the O/S account group used by Appweb.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/server.html#home">Home</a></td>
                        <td>Define the directory containing configuration files.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#ignoreEncodingErrors">IgnoreEncodingErrors</a></td>
                        <td>Ignore UTF-8 encoding errors in WebSockets</td>
                    </tr>      
                    <tr>
                        <td><a href="dir/dir.html#indexOptions">IndexOptions</a></td>
                        <td>Define the options for directory listings.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/dir.html#indexOrder">IndexOrder</a></td>
                        <td>Define the order of processing directory index options.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#inactivityTimeout">InactivityTimeout</a></td>
                        <td>Maximum request and connection inactivity duration.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitBuffer">LimitBuffer</a></td>
                        <td>Set the maximum buffer size for pipeline stages.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitCache">LimitCache</a></td>
                        <td>Set the maximum size of the Appweb cache for responses and sessions.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitCacheItem">LimitCacheItem</a></td>
                        <td>Set the maximum size of a single item in the Appweb cache.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitChunk">LimitChunk</a></td>
                        <td>Set the maximum transfer chunk encoding size.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitClients">LimitClients</a></td>
                        <td>Set the limit of simultaneous clients.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitRequests">LimitConnections</a></td>
                        <td>Set the limit of simultaneous client connections.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitFiles">LimitFiles</a></td>
                        <td>Set the maximum number of open files or sockets on a Unix system.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitKeepAlive">LimitKeepAlive</a></td>
                        <td>Define the re-use count for a connection.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitMemory">LimitMemory</a></td>
                        <td>Limit the total memory usage of Appweb. This is a hard limit.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitProcesses">LimitProcesses</a></td>
                        <td>Maximum number of CGI processes to spawn.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitRequestsPerClient">LimitRequestsPerClient</a></td>
                        <td>Set the limit of simultaneous requests for a single IP address.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitRequestBody">LimitRequestBody</a></td>
                        <td>Set the maximum size of the incoming request body.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitRequestForm">LimitRequestForm</a></td>
                        <td>Set the maximum size of the incoming request form data.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitRequestHeader">LimitRequestHeader</a></td>
                        <td>Set the maximum total request header size.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitRequestHeaderLines">LimitRequestHeaderLines</a></td>
                        <td>Set the maximum number of request header lines.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitResponseBody">LimitResponseBody</a></td>
                        <td>Set the maximum response body size.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitSessions">LimitSessions</a></td>
                        <td>Set the limit of simultaneous client sessions.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitUpload">LimitUpload</a></td>
                        <td>Set the maximum file upload size.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitUri">LimitUri</a></td>
                        <td>Set the maximum size of a request URI.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitWebSocketsFrame">LimitWebSocketsFrame</a></td>
                        <td>Limit the maximum size of a Web Sockets Message Frame.</td>
                    </tr>                    
                    <tr>
                        <td><a href="dir/sandbox.html#limitWebSocketsMessage">LimitWebSocketsMessage</a></td>
                        <td>Limit the maximum size of a Web Sockets Message.</td>
                    </tr>                    
                    <tr>
                        <td><a href="dir/sandbox.html#limitWebSocketsPacket">LimitWebSocketsPacket</a></td>
                        <td>Limit the maximum size of a Web Sockets Message Packet.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#limitWorkers">LimitWorkers</a></td>
                        <td>Limit the maximum size of a Web Sockets Message.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/server.html#listen">Listen</a></td>
                        <td>Define the IP address and port on which to listen.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/module.html#loadModule">LoadModule</a></td>
                        <td>Load an Appweb module.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/module.html#loadModulePath">LoadModulePath</a></td>
                        <td>Specify a list of directories to search for modules.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/log.html#log">Log</a></td>
                        <td>Control the tracing of HTTP events.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#map">Map</a></td>
                        <td>Control the mapping of requests by extension.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#memoryPolicy">MemoryPolicy</a></td>
                        <td>Define the action to take when memory is depleted.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#methods">Methods</a></td>
                        <td>Control the acceptable HTTP method verbs.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#monitor">Monitor</a></td>
                        <td>Monitor a resource for attacks and trigger a defensive response.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/dir.html#options">Options</a></td>
                        <td>Control directory listing options.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/auth.html#order">Order</a></td>
                        <td>Specify the order in which the allow and deny directives apply.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#param">Param</a></td>
                        <td>Define a route step to test request param values.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#prefix">Prefix</a></td>
                        <td>Define a route prefix to trim from the URI.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#preserveFrames">PreserveFrames</a></td>
                        <td>Preserve WebSocket frames.</td>
                    </tr>
                    <!-- UNUSED
                    <tr>
                        <td><a href="dir/server.html#protocol">Protocol</a></td>
                        <td>Define the HTTP protocol to use.</td>
                    </tr>
                    -->
                    <tr>
                        <td><a href="dir/route.html#redirect">Redirect</a></td>
                        <td>Redirect requests to a new target.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#requestHeader">RequestHeader</a></td>
                        <td>Define a HTTP request header test for a route.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#requestParseTimeout">RequestParseTimeout</a></td>
                        <td>Maximum time to parse a request or response HTTP headers.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#requestTimeout">RequestTimeout</a></td>
                        <td>Maximum request duration.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/auth.html#require">Require</a></td>
                        <td>Define which authenticated users will be permitted access to content.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#route">Reroute</a></td>
                        <td>Open a previously defined route to add or modify directives.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#resetPipeline">ResetPipeline</a></td>
                        <td>Reset the input and output pipeline for a block.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/auth.html#role">Role</a></td>
                        <td>Defines an authentication role with associated abilities.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#route">Route</a></td>
                        <td>Define a block of directives to apply to a URL route.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#routeName">RouteName</a></td>
                        <td>Set the route name.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/server.html#scriptAlias">ScriptAlias</a></td>
                        <td>Map a URL to a directory for CGI processing.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#setConnector">SetConnector</a></td>
                        <td>Set the connector stage for a block.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#setHandler">SetHandler</a></td>
                        <td>Set the handler to process requests.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#source">Source</a></td>
                        <td>Define source code for the handler to use.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#startWorkers">StartWorkers</a></td>
                        <td>Number of worker threads to pre-allocate and preserve.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#stealth">Stealth</a></td>
                        <td>Control stealth mode.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#target">Target</a></td>
                        <td>Define the target action to take for a route to serve a response to the client.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/sandbox.html#threadStack">ThreadStack</a></td>
                        <td>Stack size for each thread.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/server.html#serverName">ServerName</a></td>
                        <td>Define the server names to be served by a host or virtual host.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#sessionCookie">SessionCookie</a></td>
                        <td>Control the visibility of the session cookie in the browser.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#sessionTimeout">SessionTimeout</a></td>
                        <td>Maximum session state inactivity duration.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/ssl.html#sslCaCertificateFile">SSLCACertificateFile</a></td>
                        <td>Define the location of the client certificate file.</td>
                    </tr>
                    <!-- openssl only
                    <tr>
                        <td><a href="dir/ssl.html#sslCaCertificatePath">SSLCACertificatePath</a></td>
                        <td>Define the directory for client certificates.</td>
                    </tr>
                    -->
                    <tr>
                        <td><a href="dir/ssl.html#sslCertificateFile">SSLCertificateFile</a></td>
                        <td>Define the server certificate.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/ssl.html#sslCertificateKeyFile">SSLCertificateKeyFile</a></td>
                        <td>Define the server's private key.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/ssl.html#sslCipherSuite">SSLCipherSuite</a></td>
                        <td>Set the cipher suite to use for SSL.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/ssl.html#sslEngine">SSLEngine</a></td>
                        <td>Enable SSL processing for a block.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/ssl.html#sslProtocol">SSLProtocol</a></td>
                        <td>Set the SSL protocols to enable.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/ssl.html#sslVerifyClient">SSLVerifyClient</a></td>
                        <td>Verify the identity of the client certificate.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/ssl.html#sslVerifyIssuer">SSLVerifyIssuer</a></td>
                        <td>Verify the identity of the issuer or the client certificate.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/server.html#streamInput">StreamInput</a></td>
                        <td>Control if request body content is buffered or streamed to the handler.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#target">Target</a></td>
                        <td>Define a route target.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/log.html#trace">Trace</a></td>
                        <td>Define what request events to trace.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/log.html#traceLog">TraceLog</a></td>
                        <td>Define the location and format of the request trace log.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/server.html#typesConfig">TypesConfig</a></td>
                        <td>Specify the location of the MIME types file.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/module.html#unloadModule">UnloadModule</a></td>
                        <td>Unload an Appweb module.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#update">Update</a></td>
                        <td>Define an update modification for a route.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#uploadDir">UploadDir</a></td>
                        <td>Set the directory for uploaded files.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/route.html#uploadDir">UploadAutoDelete</a></td>
                        <td>Control if files are auto-deleted after uploading.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/server.html#userAccount">UserAcount</a></td>
                        <td>Define the O/S user account used by Appweb.</td>
                    </tr>
                    <tr>
                        <td><a href="dir/vhost.html#virtualHost">VirtualHost</a></td>
                        <td>Create a directory block for virtual hosting for an IP address.</td>
                    </tr>
                </tbody>
            </table>
